package cn.sxw.ld.module.pet.pojo;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @author: SXW
 * @since: 2025年02月25日 13:41
 * @desc:宠物实体类，用于映射数据库中的 pets 表
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pet {

    /**
     * 宠物的唯一标识，作为表的主键
     */
    @TableId
    private Long id;

    /**
     * 关联的会员 ID，用于标识该宠物所属的会员
     */
    private String phone;

    /**
     * 会员名称
     */
    private String memberName;

    /**
     * 宠物的名称
     */
    private String petName;

    /**
     * 宠物的性别，例如 "公" 或 "母"
     */
    private String gender;

    /**
     * 宠物的年龄，以整数形式表示
     */
    private String petAge;

    /**
     * 宠物描述
     */
    private String petDesc;

    /**
     * 宠物的图片路径，用于存储宠物图片的文件路径或 URL
     */
    private String image;

    /**
     * 宠物信息的创建时间，在插入数据时自动填充
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 宠物信息的最近修改时间，在插入和更新数据时自动填充
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 创建该宠物信息的用户 ID，在插入数据时自动填充
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 最后更新该宠物信息的用户 ID，在插入和更新数据时自动填充
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;

    /**
     * 宠物的品种
     */
    private String petBreed;

    // 逻辑删除字段 0:未删除，1:已删除
    @TableField("is_deleted")
    private Integer isDeleted;

}
